OBJ=Projet.o lex.o main.o
CC=gcc
CFLAGS=-Wall -I./ -g
LDFLAGS= -g -lfl

compiler : Projet.l $(OBJ)
	$(CC) -o compiler $(CFLAGS) $(OBJ) -lfl

Projet.c : Projet.y
	bison -v -b Projet -o Projet.c -d Projet.y

Projet.o:  Projet.c Projet.h main.h
	$(CC) $(CFLAGS) -c Projet.c

main.o: main.h main.c Projet.h
	$(CC) $(CFLAGS) -c main.c

lex.o: Projet.h main.h lex.c
	$(CC) $(CFLAGS) -c lex.c

lex.c : Projet.l
	flex --yylineno -olex.c Projet.l

teste-lex : teste-lex.o lex.o
	$(CC) -o teste-lex $(CFLAGS) lex.o teste-lex.o -lfl

teste-lex.o : Projet.h main.h teste-lex.c
	$(CC) $(CFLAGS) -DYYDEBUG -c teste-lex.c

clean:
	rm -f *.o lex.c Projet.c compiler teste-lex Projet.output
